JDK 1.2 beta 2
Cryptix 3.03 (pacchetto crittografico)
Il sistema ad agenti mobili SOMA organizza logicamente la rete in
Place e
Domini. Ogni nodo della rete è visto come Place, i Place sono
raggruppati
in Domini. Ogni Dominio ha un Gateway che regola l'accesso dall'esterno
ai
propri Place.
Nelle istruzioni di installazione e negli esempi proposti si assume
che vi
siano due Domini, chiamati Dom1 e Dom2.
Dom1 è composto da un solo Place: Bach.
Dom2 è composto da due Place: Escher e Godel.
I tre Place sono ospitati dallo stesso host.
Gli archivi di installazione sono predisposti per questa configurazione:
per avviare il sistema occorre installare i sistemi SOMA e MARS su
un
unico host. Nel caso si voglia cambiare la configurazione di default,
bisogna installare i sistemi su ogni host voluto e riconfigurare la
topologia della rete di SOMA.
Installare i file di SOMA e di MARS a partire dalla HOME directory,
per
mezzo dei comandi:
tar xf SOMA.tar
tar xf MARS.tar
Dovrebbero quindi essere presenti le seguenti directory:
$HOME/SOMA
$HOME/MARS
$HOME/Cryptix (se installato
nella HOME directory)
Aggiornare il CLASSPATH:
export CLASSPATH=$HOME/MARS:$HOME/SOMA:
$HOME/Cryptix/classes/SPT_0-0-9.jar:
$HOME/Cryptix/classes/IJCE_0-0-11.jar:
$HOME/Cryptix/classes/RSA_0-0-9.jar
N.B.: la presenza della directory corrente "." nel CLASSPATH crea problemi
nel caso di ricompilazione di SOMA.
Aggiornare il file lib/security/java.security del JDK 1.2 nel seguente
modo:
policy.provider = AgentSystem.AgentPolicy
security.provider.2 = cryptix.provider.Cryptix
La prima riga indica nella classe AgentSystem.AgentPolicy il nuovo
gestore
della politica di sicurezza. La seconda riga aggiunge il pacchetto
Cryptix
alla lista dei fornitori degli algoritmi crittografici.
Per avviare il sistema (e gli esempi di prova) nella configurazione
di
default, saltare i paragrafi di configurazione e passare ad Avvio
del
sistema e ad Esempi.
Ogni Place ha una propria directory sull'host nel quale è
presente.
Nella configurazione di default sono presenti tre Place sullo stesso
host,
per cui sono create le seguenti directory:
$HOME/SOMA/Bach
$HOME/SOMA/Escher
$HOME/SOMA/Godel
Inoltre, ogni directory di Place deve avere una sottodirectory "esterno",
in cui sono memorizzate le classi degli agenti caricate dinamicamente
attraverso il Class Loader.
La topologia è specificata nei file agentsX.net e DomainX.net,
generati
dalle classi SetupX.java nella directory SOMA/Sets (dove l'X sta per
il
numero del dominio).
I file agentsX.net contengono le informazioni su tutti i Place di un
Dominio e devono essere posti nelle directory di Place di ogni Place
del
Dominio in questione. Deve essere inoltre posto nella directory SOMA
dell'host in cui è avviato il Gateway del Dominio.
I file DomainX.net contengono le informazioni su tutti i Domini presenti
nella rete. Una copia di DomainX.net deve essere posta nella directory
SOMA dell'host in cui è avviato il Gateway del Dominio X.
Per modificare la topologia è necessario modificare opportunamente
i file
SetupX.java e distribuire i file *.net generati secondo le regole sopra
enunciate.
La politica di sicurezza è espressa su due livelli: la politica
di Dominio
(o di default) e la politica di Place.
La politica di Dominio è contenuta in un file DefaultX.pol nella
directory
SOMA dell'host in cui è avviato il Gateway del Dominio. La politica
di
Place è contenuta in un file PolX.pol nella directory di Place.
Per esaminare e modificare le politiche di sicurezza di SOMA avvia il
tool
AgentPolicyTool:
java AgentSystem.AgentPolicyTool
Per esaminare e modificare il file .keystore bisogna usare il tool di
JDK
1.2 keytool. La password del .keystore è "keystorepassword".
Per modificare il file .RSAKeyStore bisogna usare AgentSystem.RSAKeyTool.
Per avviare un Place:
java AgentSystem.Main agents1.net
5555 5550 Dom1 Bach
$HOME/MAM2/Bach Pol1.pol .keystore
.RSAKeyStore
dove i parametri rappresentano:
Una volta avviati tutti i Gateway e i Place si possono lanciare
gli
agenti. Le classi degli agenti devono essere poste nella directory
del
Place di partenza.
Per lanciare un agente:
java AgentSystem.Starter provaplace
5550 johndoe
dove i parametri rappresentano:
Avviare il registro RMI di Java:
rmiregistry &
Per avviare il sistema nella configurazione di default eseguire il file
avvia.
Per lanciare gli agenti del primo esempio (ricerca di informazioni
distribuite) eseguire il file esempio1.
Per lanciare gli agenti del secondo esempio eseguire il file esempio2.
Per lanciare gli agenti del terzo esempio (prenotazione di un volo)
eseguire il file esempio3.
SOMA è sviluppato in JDK 1.2 beta 2. Per la compatibilità
con la versione
definitiva del JDK 1.2, vedere l'home page di SOMA: